#让这一行就这么放着
.SUFFIXES: .erl .beam .yrl

.erl.beam:
	erlc -W $<

.yrl.erl:
	erlc -W $<

ERL=erl -boot start_clean

#如下是需要编译的模块列表
#如果一行写不下可以用反斜线来折行

#修改如下行
MODS=module1 module2
	 module3 ...

#makefile中的第一个目标就是缺省目标
#也就是键入make时默认的目标
all: compile
	${ERL} -pa '/home/david/dev/code/erlang/test' -s module1 start

compile: ${MODS:%=%.beam} subdirs

#指定编译需求，并且添加到这里
spcial1.beam: special1.erl
	${ERL} -Dflag1 -W0 special1.erl

#从makefile运行一个应用
application1: compile
	${ERL} -pa Dir1 -s application1 start Arg1 Arg2

#在子目录编译子目录的目标
subdirs:
	cd dir1; make
	cd dir2; make
	...

#清除所有编译后的文件
clean:
	rm -rf *.beam erl_cash.dump
	cd dir1; make clean
	cd dir2; make clean
